package LeetCode;

import java.util.Arrays;
import java.util.HashMap;

public class LC_242_ValidAnagram {

    public static void main(String[] args) {

    }

    static class Solution {
        public static boolean isAnagram(String s, String t) {
            char[] sArr = s.toCharArray();
            char[] tArr = t.toCharArray();
            Arrays.sort(sArr);
            Arrays.sort(tArr);
            return String.valueOf(sArr).equals(String.valueOf(tArr));
        }
    }

    static class Solution_2 {

        public static boolean isAnagram(String s, String t) {
            if (s.equals(t)) return true;
            if (t == null || s.length() != t.length()) return false;
            HashMap<Character, Integer> sMap = new HashMap<>();
            HashMap<Character, Integer> tMap = new HashMap<>();
            for (int i = 0; i < s.length(); i++) {
                if (sMap.containsKey(s.charAt(i)))
                    sMap.put(s.charAt(i), sMap.get(s.charAt(i)) + 1);
                else
                    sMap.put(s.charAt(i), 1);
                if (tMap.containsKey(t.charAt(i)))
                    tMap.put(t.charAt(i), tMap.get(t.charAt(i)) + 1);
                else
                    tMap.put(t.charAt(i), 1);
            }
            for (Character key : sMap.keySet())
                if (!tMap.containsKey(key) || !tMap.get(key).equals(sMap.get(key))) return false;
            return true;
        }

    }
}